Timing recovery is utilized in many different communication systems. Samples of signals within the communication systems are taken to perform timing recovery. Sampling instances are instances of time at which signals are taken. The sampling instances can deviate from the actual data (i.e., the source of the signal) as a function of the amount of phase offset in the system. Additionally, the sampling instances can deviate as a function of the amount of frequency offset. The amount of deviation can accumulate at every other sample if there is any frequency offset in the system. The deviation of the actual samples from the desired samples can cause a drop in system performance, or even result in system collapse or failure. The recovery of phase and frequency offset information becomes even more important in a noisy environment. Thus, it is important that phase and frequency offsets are recovered and sampling instances adjusted accordingly so that a signal processor samples the noisy analog signal close to the desired sampling instances.
One example communication system that utilizes timing recovery is a magnetic recording system. In a magnetic recording system, distortions in the system can result in changes in sampling offset. One of these distortions is spindle speed variation. Other distortions can also cause timing errors in the system. Among these distortions, some will translate into phase jitter in the system, some will be the source of frequency offset, and some will result into sudden phase offsets. In order to recover the desired sampling instances, timing recovery is implemented for processing both the servo sectors and the data sectors. Servo sectors generally contain disc and track information written during manufacture that is utilized by the disc drive to determine the location of tracks and sectors on the disc. In contrast, data sectors generally are utilized to store and retrieve user data. Thus, timing recovery performance affects both servo performance (i.e., the operation of the servo to position the read/write head) and the performance of the data processing.